#include "processbar.h"

typedef void (*callback_t)(int);// 函数指针类型

// 模拟一种安装或者下载
void downLoad(callback_t cb)
{
    int total = 1000;// 1000MB
    int curr = 0;// 0MB
    while(curr <= total)
    {
        // 进行着某种下载的任务
        usleep(50000);                  // 模拟下载花费的时间
        int rate = curr * 100 / total; // 更新进度

        cb(rate);                       // 通过回调，展示进度
        curr += 10;                     // 循环下载了一部分
    }
    printf("\n");
}

int main()
{
    printf("download 1:\n");
    downLoad(processbar);
    initbar();

    printf("download 2:\n");
    downLoad(processbar);
    initbar();

    printf("download 3:\n");
    downLoad(processbar);
    initbar();

    return 0;
}

/*
// 倒计时
int main()
{
    int cnt = 10;
    while(cnt >= 0)
    {
        printf("%-2d\r",cnt);
        fflush(stdout);
        sleep(1);
        cnt--;
    }

    printf("\n");
    return 0;
}
*/
